package it.afs.worklog.persist;

import java.util.Date;
import java.util.List;

import it.afs.worklog.Attivita;
import it.afs.worklog.Cliente;
import it.afs.worklog.Commessa;
import it.afs.worklog.Registro;
import it.afs.worklog.User;

public interface Dao
{

	public User login(String username, String password);

	public List<Cliente> getClienti();

	public List<Commessa> getCommesse(Cliente cliente);

	public List<Attivita> getAttivita(Commessa commessa);

	public int getCountOre(Date data, User user);

	public boolean set(Registro registro);

	public Cliente getCliente(String id);

	public boolean set(Cliente cliente);

	public Commessa getCommessa(String id);

	public boolean set(Attivita attivita);

	public boolean set(Commessa commessa);

	public Attivita getAttivita(String id);

	public boolean set(User user);

	public List<User> getUtenti();

	public User getUser(String id);

	public boolean existUser(String username);

	public List<Registro> getLogs(Date data);

	public void deleteLogs(Date data);

	public List<Registro> getReport(Date d1, Date d2, User user, Commessa commessa, String sortmode);

}
